package org.jeecg.modules.express.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 包裹
 * </p>
 *
 * @author Ash
 * @since 2024-06-07
 */
@Getter
@Setter
@TableName("t_express_parcel")
@ApiModel(value = "ExpressParcel对象", description = "包裹")
public class ExpressParcel implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty("关联运单号")
    private String expressOrderNo;

    @ApiModelProperty("运单商品记录编码")
    private String expressOrderGoodsNo;

    @ApiModelProperty("快递追踪号")
    private String expressNo;

    @ApiModelProperty("包裹商品总量")
    private Integer quantity;

    @ApiModelProperty("商品清单，JSON格式")
    private String cargosJson;

    @ApiModelProperty("包装服务项，JSON格式")
    private String serviceItemsJson;

    @ApiModelProperty("包裹重量，单位：克")
    private Long weight;

    @ApiModelProperty("包裹尺寸-长，单位：cm")
    private Long length;

    @ApiModelProperty("包裹尺寸-宽，单位：cm")
    private Long width;

    @ApiModelProperty("包裹尺寸-高，单位：cm")
    private Long height;

    @ApiModelProperty("包裹状态（待用户确认、待发货、待收货、已收货等）")
    private String status;

    @ApiModelProperty("包裹图片")
    private String parcelImg;

    @ApiModelProperty("照片")
    private String photos;

    @ApiModelProperty("出库货架号")
    private String outShelvesNo;

    @ApiModelProperty("出库取件号")
    private String outPickupCode;

    @ApiModelProperty("物流路线ID")
    private String routeId;

    @ApiModelProperty("交税方式")
    private String taxType;

    @ApiModelProperty("海关申报方式")
    private String declareType;

    @ApiModelProperty("海关申报币种，如CNY，USD")
    private String declareCurrency;

    @ApiModelProperty("海关申报货值")
    private Integer declareValue;

    @ApiModelProperty("海关申报货重，单位：克")
    private Long declareWeight;

    @ApiModelProperty("物流渠道名称")
    private String logisticsChannelId;

    @ApiModelProperty("物流渠道名称")
    private String logisticsChannelName;

    @ApiModelProperty("国际物流运输费，单位：元")
    private BigDecimal routeCost;

    @ApiModelProperty("国际运费上调费率")
    private BigDecimal routeRate;

    @ApiModelProperty("国际运费上调费率每笔附加单位：元")
    private BigDecimal routeFeeAmount;

    @ApiModelProperty("操作费用，单位：元")
    private BigDecimal operateCost;

    @ApiModelProperty("操作费用上调费率")
    private BigDecimal operateRate;

    @ApiModelProperty("操作费用上调费率每笔附加单位：元")
    private BigDecimal operateFeeAmount;

    @ApiModelProperty("增值服务费，单位：元")
    private BigDecimal serviceCost;

    @ApiModelProperty("增值服务费上调费率")
    private BigDecimal serviceRate;

    @ApiModelProperty("增值服务费上调费率每笔附加单位：元")
    private BigDecimal serviceFeeAmount;

    @ApiModelProperty("成本费用，单位：元")
    private BigDecimal totalCost;

    @ApiModelProperty("结算费用 单位：元(实际总费用)")
    private BigDecimal calculateTotalCost;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("创建日期")
    private LocalDateTime createTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("更新日期")
    private LocalDateTime updateTime;

    @ApiModelProperty("注册17Track物流追踪时间")
    private LocalDateTime registerTime;


}
